package cn.tedu.test.luban.starter.selector;

import org.springframework.context.annotation.ImportSelector;
import org.springframework.core.type.AnnotationMetadata;

import java.util.function.Predicate;

/**
 * 实现一个导入选择器的接口
 */
public class MySelector implements ImportSelector {
    /**
     * 返回值是一个string数组,数组的元素 是配置类的全路径名称
     */
    @Override
    public String[] selectImports(AnnotationMetadata importingClassMetadata) {
        String[] configs={"cn.tedu.test.luban.starter.config.MyConfiguration02"};
        return configs;
    }

    /**
     * 可以作用在上个方法之后,对配置好的一批元素字符串
     * 做筛选的过滤器.过滤器逻辑可以在这个方法实现
     * 比如,所有当前要导入的数组中 以org开始的,都过滤掉
     */
    @Override
    public Predicate<String> getExclusionFilter() {
        return ImportSelector.super.getExclusionFilter();
    }
}
